Skip to content

feat: merge-train/barretenberg#20763

Merged
AztecBot merged 10 commits intonextfrom
merge-train/barretenberg
Feb 24, 2026
Merged

feat: merge-train/barretenberg#20763
AztecBot merged 10 commits intonextfrom
merge-train/barretenberg

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Feb 23, 2026

BEGIN_COMMIT_OVERRIDE
feat: Native ECDSA audit (#20658)
chore: Generic lookup/permutation audit 2 (#20761)
fix: Inject version to correct binary (#20753)
feat: automatic VK regeneration via VK-UPDATE commit convention (#20158)
END_COMMIT_OVERRIDE

### 🧾 Audit Context

Native ECDSA audit: test refactoring, deterministic nonce derivation
according to RFC6979, small code refactoring.

### 🛠️ Changes Made

- Derivation of the nonce (ephemeral key) is now in accordance with
RFC6979
- Testing refactored and extended
- Added some Wycherproof testing infrastructure
- Code refactoring to make it easier to read
- Address TODOs about erasing data in HMAC

### ✅ Checklist

- [X] Audited all methods of the relevant module/class
- [X] Audited the interface of the module/class with other (relevant)
components
- [X] Documented existing functionality and any changes made (as per
Doxygen requirements)
- [X] Resolved and/or closed all issues/TODOs pertaining to the audited
files
- [ ] Confirmed and documented any security or other issues found (if
applicable)
- [X] Verified that tests cover all critical paths (and added tests if
necessary)
- [X] Updated audit tracking for the files audited (check the start of
each file you audited)

### 📌 Notes for Reviewers
AztecBot and others added 7 commits February 23, 2026 12:47
### 🧾 Audit Context

Add testing for generic lookup and permutation relation.

### 🛠️ Changes Made

- Add testing framework for generic lookup and permutation relation.

### ✅ Checklist

- [ ] Audited all methods of the relevant module/class
- [ ] Audited the interface of the module/class with other (relevant)
components
- [ ] Documented existing functionality and any changes made (as per
Doxygen requirements)
- [ ] Resolved and/or closed all issues/TODOs pertaining to the audited
files
- [ ] Confirmed and documented any security or other issues found (if
applicable)
- [X] Verified that tests cover all critical paths (and added tests if
necessary)
- [ ] Updated audit tracking for the files audited (check the start of
each file you audited)

### 📌 Notes for Reviewers
In bootstrap.sh we always inject the version to build/bb. This raises an error when running the debug build in nightly. This PR fixes it by injecting the version to the correct binary.
Copy link
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot AztecBot enabled auto-merge February 23, 2026 19:23
@AztecBot
Copy link
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

## Summary
When a PR changes protocol VKs, CI now requires the author to explicitly
acknowledge the change by adding a commit with a `VK-UPDATE:
<explanation>` message. CI then auto-regenerates and commits the updated
VKs.

This replaces the previous label-based approach (`ci-update-vks`) to:
- Avoid label proliferation
- Force authors to **explain** why VKs changed (explanation lives in git
history)
- Require explicit acknowledgment before VKs are regenerated

## How it works
1. CI runs and the VK test fails with a clear message:
   ```
   VK changes detected!
   To acknowledge and auto-regenerate, add a commit to your PR:
git commit --allow-empty -m "VK-UPDATE: <explanation of why VKs
changed>"
   ```
2. Author adds the acknowledgment commit:
   ```
git commit --allow-empty -m "VK-UPDATE: changed public inputs in rollup
circuit"
   git push
   ```
3. CI reruns → VK test fails again → "Handle VK Update" step fires:
   - Detects the `VK-UPDATE:` commit message
   - Regenerates VKs and uploads to S3
   - Commits `chore: regenerate chonk VKs` with the author's explanation
   - Pushes → next CI run passes

## Implementation
- New `.github/ci3_vk_update.sh` runs as a separate step with `if:
failure()`
- Scans PR commit messages for `VK-UPDATE:` prefix
- No label needed — no changes to `ci3_labels_to_env.sh`
- VK test failure message updated with instructions

Closes AztecProtocol/barretenberg#1485
@AztecBot AztecBot added this pull request to the merge queue Feb 24, 2026
Merged via the queue into next with commit 3206f7e Feb 24, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants